
testOptimizations([
	['throw 1, 2;',
		'throw 2;'],
	
	['1 && call();',
		'call();'],
	
	['0 && call();',
		''],
	
	['[] && call();',
		'call();'],
	
	['({}) && call();',
		'call();'],
	
	['null && call();',
		''],
	
	['"" && call();',
		''],
	
	['"a" && call();',
		'call();'],
	
	['true && call();',
		'call();'],
	
	['false && call();',
		''],
	
	// should remain as-is because call() may return anything truthy - 1, object, etc.
	['call() && true',
		'call() && true;']
]);
